Brokers often provide clients access to financial markets. Clients or traders enter orders into trading systems provided by brokers, and these orders are electronically sent to an exchange for execution. Orders can be entered in a variety of ways. For example, the client can call the broker over the phone, and the broker can enter the order himself into the trading system. The client can also send the order electronically to the broker. In either case, the broker takes responsibility for executing the order within the price limits specified by the client. This can be a single execution, or the order can be worked over a period of time and filled by a number of executions on the exchange. This is referred to as Care order flow.
Alternatively, the client can send an order to be worked by an algorithm provided by the broker. The algorithm is implemented within the trading system of the broker, and is referred to as an Algo, of which many types exist. An Algo takes in an order and determines how the order is to be executed on the exchange, by using predefined logic, input parameters, and live market data. The order can be entered electronically or manually by the broker into the Algo. This is referred to as Algo order flow.
The client or trader can also send an order directly to the exchange, without intervention by a broker or Algo. The order can be entered via a screen provided by a broker or electronically into the trading system, which in turn routes the order to the exchange. This is referred to as Direct Market Access (“DMA”) order flow.
Global broker trading systems have been developed that provide clients and traders access to global markets such as those located in the United States, Europe, and Asia. Usually the global trading system comprises an architecture of regional nodes that are located close to exchanges for latency reasons. The regional nodes are separate systems (typically located in separate data centers) that act and operate independently. The global system accepts orders from clients and traders (electronically or via a screen) for any exchange, where the underlying architecture is transparent to the user. A client or trader can be located in London, and can enter orders for the CME exchange (in the US) or Eurex (in Germany); from the user's perspective the experience is the same and it would not be apparent to the user that orders have been sent to different regional nodes located in data centers thousands of miles apart. To a client or a trader there is a single access point to the global system, and the system routes orders to the relevant regional nodes where they are sent to the relevant exchanges for execution.
Brokers typically subject their clients to pre-trade risk controls. These controls aim to minimize errors, for example mistyping and repeated orders, but also aim to minimize credit risk for clients. The types of checks include: maximum order size; value and price limits; daily value and position limits for the client or trader; and daily margin limits for clients.
Margin is the amount of cash or collateral required by an exchange clearing house for clients or brokers to enter into a listed derivatives position. Margin limits involve brokers calculating the margin requirements for listed Futures and Options (“F&O”) orders and positions, and ensuring a client has enough cash or collateral to cover the margin requirements for all new orders entered. Many trading systems will perform margin checks using the exchange clearing house methodology or some approximation thereof.
Daily value limits and margin limits are usually set per client or client account regardless of what financial instruments are traded by the client. For F&O trading systems, margin can be calculated for all instruments across all exchanges and aggregated to a single requirement, validated against a single limit.
It is desirable that global trading platforms comprising regional nodes be able to validate an order pre-trade and ensure its contribution to a client's position will not exceed the global limit specified for a particular client. Conventional techniques to achieve this end include (i) using a single entry point; or (ii) using a replication scheme.
Use of a single entry point includes validating all orders for a particular client against a single total and limit maintained in one location. After validation the order is routed to the relevant node for execution. However, in a multi-node system, it can be difficult to find a suitable location for the single entry point if clients are trading multiple markets. That is, for example, use of a single entry point can result in a significant latency cost as the system performing the risk checks may be located many thousands of miles from both the client and the destination exchange.
Use of a replication scheme includes replicating the limit and totals on each regional node, and validating orders at each node. However, this can result in so called “in-flight” risk, where two or more orders entered by a client in quick succession to markets located in different regions can result in the client breaching their limit, since each node has yet to be updated by the respective orders in the other nodes due to the latency of replication.
Accordingly, improved techniques for risk management in a geographically distributed trading system are desired.